This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
The following abbreviations that may be found in the specification and/or the drawing figures are defined as follows:
DB database
DRAM dynamic random access memory
ECC error correction code
e-MMC embedded MultiMediaCard
eNB E-UTRAN Node B (evolved Node B)
FW firmware
HW hardware
Node B base station
OS operating system
PC personal computer
SBC(-3) SCSI block commands
SCSI small computer system interface
SSD solid state disc
SW software
UE user equipment, such as a mobile station or mobile terminal
UFS universal flash storage
Mobile devices, such as UEs, may use memory for storing user data, for example, music, pictures, applications, maps, etc. The amount of user data stored in mobile devices is increasing and will continue to grow. Some high-end devices provide user data storage based on non-volatile memory such as NAND memory technology (also known as flash memory). NAND memory usage has expanded to mid-range devices.
In typical mobile managed NAND devices no actual cache memory exists due to cost and power optimizations. There may be some memory controller SRAM and a buffer memory in the NAND itself. However, these are temporary storages to buffer the data before it is programmed into NAND memory or delivered to the host. In some PC markets, managed NAND devices, like SSDs, may have cache memory storage, typically DRAM, included in the memory device. In SSD, the data may be stored to a DRAM cache for longer periods of time before flushing it to the NAND storage.
The standardized cache definitions and improvement of performance apply mainly for write operations. The existing standardized pre-fetch/packed command mechanisms are based on the host knowing which data should be fetched next in order to provide the address to the device in advance. However, this is not always the case.
What is needed is a way to improve memory reads in NAND memory devices.